package io.wins.vertx.service;

import io.vertx.core.Vertx;
import io.vertx.core.eventbus.Message;
import io.wins.vertx.entity.User;
import io.wins.vertx.service.impl.UserServiceImpl;

public interface UserService {

    String SERVICE_ADDRESS = "user.service";

    static UserService create(final Vertx vertx) {
        return new UserServiceImpl(vertx);
    }

    UserService listUser(final Message tMessage);

    UserService listUserByPage(final int page, final int limit, final Message tMessage);

    UserService getUserByLoginId(final String loginId, final String password, final int key, final Message tMessage);

    UserService registerUser(final User user, final Message tMessage);

    UserService updateUserPassword(final User user, final Message tMessage);

    UserService checkLoginId(final String loginId, final Message tMessage);
}
